home *** CD-ROM | disk | FTP | other *** search
/ Celestin Apprentice 4 / Apprentice-Release4.iso / Demos / AppMaker 2.0b3 / Demo AppMaker 1.5 / Demo AppMaker™ / Demo AppMaker™.rsrc / TmMM_203_Doc < prev    next >
Encoding:
Modula Implementation  |  1992-04-08  |  3.4 KB  |  163 lines

  1. (* %filename% -- document class *)
  2. (* Created %date% %time% by AppMaker *)
  3.  
  4. IMPLEMENTATION MODULE U%appname%Doc;
  5.  
  6. FROM Types IMPORT
  7.     INT16, INT32, Str255;
  8. FROM Fonts IMPORT
  9.     GetFNum;
  10. FROM TextEdit IMPORT
  11.     TextStyle;
  12. FROM Menus IMPORT
  13.     GetItem, GetMHandle;
  14. FROM File IMPORT
  15.     GetEOF;
  16. FROM Object IMPORT
  17.     GENERATE, MEMBERTEST;
  18. FROM UFailure IMPORT
  19.     FailNIL, FailOSErr;
  20. FROM UMacApp IMPORT
  21.     kUsesDataFork, kUsesRsrcFork, kDataOpen, kRsrcOpen,
  22.     kSquareDots, kFixedSize,
  23.     gNoChanges,
  24.     TDocument, TCommand, TWindow;
  25. FROM UMenuSetup IMPORT
  26.     CmdNumber,
  27.     CmdToMenuItem;
  28. FROM UPrinting IMPORT
  29.     TStdPrintHandler;
  30. FROM ResourceDefs IMPORT
  31.     mFontID;
  32. %for each window gen uses%
  33.  
  34. (*${QINSPECTOR*)
  35. FROM UMacAppUtilities IMPORT
  36.     bClass,
  37.     DoToFieldMETHOD;
  38. (*$}*)
  39.  
  40. CONST 
  41.     kFileType        = 'TEXT';
  42.     kSignature        = 'XXXX';    (*Creator name*)
  43.  
  44. (*SEG AOpen*)
  45. (*----------*)
  46. METHOD T%appname%Doc.I%appname%Doc;
  47. BEGIN
  48.     IDocument (kFileType, kSignature, kUsesDataFork, NOT kUsesRsrcFork,
  49.                                         NOT kDataOpen, NOT kRsrcOpen);
  50.     fSavePrintInfo := TRUE;    (*default is false*)
  51. END I%appname%Doc;
  52.  
  53. (*SEG AClose*)
  54. (*----------*)
  55. METHOD T%appname%Doc.Free;
  56. BEGIN
  57.     FreeData;
  58.     INHERITED Free;
  59. END Free;
  60.  
  61. (*SEG AClose*)
  62. (*----------*)
  63. METHOD T%appname%Doc.FreeData;
  64. BEGIN
  65. END FreeData;
  66.  
  67. (*SEG AOpen*)
  68. (*----------*)
  69. METHOD T%appname%Doc.DoMakeViews    (forPrinting:    BOOLEAN);
  70. VAR
  71.     aWindow:            TWindow;
  72.     aStdPrintHandler:    TStdPrintHandler;
  73. BEGIN
  74.     %for each window gen makeWindow%
  75.     
  76.     GEN (aStdPrintHandler);
  77.     FailNIL (aStdPrintHandler);
  78.     aStdPrintHandler.IStdPrintHandler    (SELF,
  79.                                         aWindow,            (*main view of main window*)
  80.                                         NOT kSquareDots,
  81.                                         kFixedSize,            (*horizontal page size*)
  82.                                         NOT kFixedSize);    (*vertical page size*)
  83. END DoMakeViews;
  84.  
  85. (*SEG AWriteFile*)
  86. (*----------*)
  87. METHOD T%appname%Doc.DoNeedDiskSpace    (
  88.                         VAR dataForkBytes:    INT32;
  89.                         VAR rsrcForkBytes:    INT32);
  90. BEGIN
  91.     INHERITED DoNeedDiskSpace (dataForkBytes, rsrcForkBytes);    (*to save print info*)
  92.     dataForkBytes := dataForkBytes + 0 (*.size of your data.*);
  93. END DoNeedDiskSpace;
  94.  
  95. (*SEG AReadFile*)
  96. (*----------*)
  97. METHOD T%appname%Doc.DoRead    (aRefNum:        INT16;
  98.                              rsrcExists:    BOOLEAN;
  99.                              forPrinting:    BOOLEAN);
  100. VAR
  101.     dataSize:        INT32;
  102. BEGIN
  103.     INHERITED DoRead (aRefNum, rsrcExists, forPrinting);    (*read printer info*)
  104.     FailOSErr (GetEOF (aRefNum, dataSize));        (*get size of data in file*)
  105. END DoRead;
  106.  
  107. (*SEG AWriteFile*)
  108. (*----------*)
  109. METHOD T%appname%Doc.DoWrite (aRefNum:        INT16;
  110.                              makingCopy:    BOOLEAN);
  111. VAR
  112.     dataSize:        INT32;
  113. BEGIN
  114.     INHERITED DoWrite (aRefNum, makingCopy);    (*save print info to disk*)
  115.     dataSize := 0 (*.size of your data.*);
  116. END DoWrite;
  117.  
  118. (*SEG ARes*)
  119. (*----------*)
  120. METHOD T%appname%Doc.DoSetupMenus;
  121. BEGIN
  122.     INHERITED DoSetupMenus;
  123. END DoSetupMenus;
  124.  
  125. %for each menu gen dynamicMenuProc%
  126. (*SEG ASelCommand*)
  127. (*----------*)
  128. METHOD  T%appname%Doc.DoMenuCommand (aCmdNumber: CmdNumber): TCommand;
  129. VAR
  130.     doMenuCommand:    TCommand;
  131.     menu:            INT16;
  132.     item:            INT16;
  133. BEGIN
  134.     doMenuCommand := gNoChanges;
  135.     
  136.     IF aCmdNumber < 0 THEN
  137.         CmdToMenuItem (aCmdNumber, menu, item);
  138.         %for each menu gen dynamicMenu%
  139.  
  140.     ELSE
  141.         CASE aCmdNumber OF
  142.         | 0:
  143.             ;
  144.             (*.put your menu commands here.*)
  145.         ELSE
  146.             doMenuCommand := INHERITED DoMenuCommand (aCmdNumber);
  147.         END(*CASE*);
  148.     END(*IF*);
  149.     RETURN doMenuCommand;
  150. END DoMenuCommand;
  151.  
  152. (*${QINSPECTOR*)
  153. (*SEG AFields*)
  154. (*----------*)
  155. METHOD T%appname%Doc.Fields (DoToField: DoToFieldMETHOD);
  156. BEGIN
  157.     DoToField ("\LT%appname%Doc", NIL, bClass);
  158.     INHERITED Fields (DoToField);
  159. END Fields;
  160. (*$}*)
  161.  
  162. END U%appname%Doc.
  163.